package org.nf.trading.service.app.message;

import org.nf.trading.dto.ChatMessageDTO;
import org.nf.trading.dto.CommentMessageDTO;
import org.nf.trading.dto.MessageDTO;
import org.nf.trading.entity.Message;

import java.util.List;

public interface MessageService {
    /**
     * 聊天发送消息
     * @param chatMessageDTO
     */
    void chatSender(ChatMessageDTO chatMessageDTO);

    /**
     * 通过消息id查询发送者和接收者
     * @param messageId
     * @return
     */
    CommentMessageDTO messageUser(Integer messageId);

    /**
     * 通过发送人id查询全部
     * @param receiverId
     * @return
     */
    List<Message> listMessageByReceiverId(Integer receiverId);

    /**
     * 通过商品id查询是否存在这个消息
     * @param productId
     * @return
     */
    Message getMessageByProductIdIs(Integer productId);

    /**
     * 发布
     * @param message
     */
    void publish(MessageDTO message);
    /**
     * 通过用户的id查询属于自己的聊天消息列表
     * @param userId
     * @return
     */
    List<Message> selectByUserId(Integer userId);

    boolean insert(Message message);
}
